#!/usr/bin/env python3

PACKAGE = 'vswarm'
LEVEL = 0

from dynamic_reconfigure.parameter_generator_catkin import ParameterGenerator
from dynamic_reconfigure.parameter_generator_catkin import double_t, bool_t, int_t

gen = ParameterGenerator()

gen.add(name='confidence_threshold', paramtype=double_t, level=LEVEL,
        description='Object confidence threshold [%]',
        default=0.5, min=0.0, max=1.0)
gen.add(name='iou_threshold', paramtype=double_t, level=LEVEL,
        description='IOU threshold for non-maximum suppression [%]',
        default=0.5, min=0.0, max=1.0)
gen.add(name='delay', paramtype=double_t, level=LEVEL,
        description='Artificial processing delay [s]',
        default=0.0, min=0.0, max=1.0)
gen.add(name='false_negative_prob', paramtype=double_t, level=LEVEL,
        description='Probability of false negatives [%]',
        default=0.0, min=0.0, max=1.0)
gen.add(name='use_visual_tracking', paramtype=bool_t, level=LEVEL,
        description='If True, use visual tracking [bool]',
        default=False)
gen.add(name='max_track_length', paramtype=int_t, level=LEVEL,
        description='Maximum track length for visual tracking',
        default=10, min=1, max=1000)
gen.add(name='publish_image', paramtype=bool_t, level=LEVEL,
        description='If True, publish image annotated with bounding boxes [bool]',
        default=True)

exit(gen.generate(PACKAGE, 'object_detection_node', 'ObjectDetectionNode'))
